package com.easyadmin.service;

import com.easyadmin.entity.po.SysDict;
import com.easyadmin.entity.query.SysDictQuery;
import com.easyadmin.entity.vo.PaginationResult;
import com.easyadmin.exception.BusinessException;

import java.util.List;


/**
 *
 *  业务接口
 *
 */
public interface SysDictService {

    /**
     * 根据条件查询列表
     */
    List<SysDict> findListByParam(SysDictQuery param);

    /**
     * 根据条件查询列表
     */
    Integer findCountByParam(SysDictQuery param);

    /**
     * 分页查询
     */
    PaginationResult<SysDict> findListByPage(SysDictQuery param);

    /**
     * 新增
     */
    Integer add(SysDict bean) throws BusinessException;

    /**
     * 批量新增
     */
    Integer addBatch(List<SysDict> listBean);

    /**
     * 批量新增/修改
     */
    Integer addOrUpdateBatch(List<SysDict> listBean);

    /**
     * 根据PropValueAndPid修改
     */
    Integer updateByPropValueAndPid(SysDict bean, String propValue, Integer pid);


    /**
     * 根据PropValueAndPid删除
     */
    Integer deleteByPropValueAndPid(String propValue, Integer pid);


    /**
     * 根据PropValueAndPid查询对象
     */
    SysDict getSysDictByPropValueAndPid(String propValue, Integer pid);


    /**
     * 根据Id修改
     */
    Integer updateById(SysDict bean, Integer id);


    /**
     * 根据Id删除
     */
    Integer deleteById(Integer id);


    /**
     * 根据Id查询对象
     */
    SysDict getSysDictById(Integer id);

    void saveDict(SysDict sysDict) throws BusinessException;

}